import random
#from ..Configuration.ConfigurationParser.py import
from . import Configuration

class RandomAllocation:
    """
    Enthaelt Zufalls-Methoden fuer zufaellige Futter- und Biestverteilung
    """
    
    def getRandomAllocation(self, number):
        """
        Liefert eine gewuenschte Anzahl zufaelliger Koordinaten auf dem Feld
        @number: Anzahl zurueckzugebender Koordinaten
        @return: Dictionary mit Liste (x, y Koordinate)
        """
        oConfigurationParser = Configuration.ConfigurationParser()
        iBorderLength =  oConfigurationParser.getBorderLength()
        lFieldList = range(1, iBorderLength**2 + 1)
        random.shuffle(lFieldList)
        lRandomAllocation = random.sample(lFieldList, number)
        
        coordinates = {}        # Initialisierung eines Dictionarys
        
        for i in range(0, len(lRandomAllocation) ):
            iCoordY = lRandomAllocation[i] / iBorderLength
            iCoordX = ( lRandomAllocation[i] % iBorderLength ) - 1
            coordinate = []                             # Initialisierung einer Liste
            coordinate[0:1] = [iCoordX, iCoordY]
            coordinates[i] = coordinate
            
        return coordinates
    
t = RandomAllocation()
print t.getRandomAllocation(3)